<?php
session_start();
// 创建一个 120x40 的图像
$image = imagecreatetruecolor(120, 40);

//分配颜色
$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);
// 填充背景色
imagefilledrectangle($image, 0, 0, 120, 40, $white);

// 绘制验证码
$code = '';
for ($i = 0; $i < 4; $i++) {
    $code .= mt_rand(0, 9);
    //让验证码添加一点角度
    imagestring($image, 5, $i * 30 + 5, 15, $code[$i], $black);
}
//把验证码添加到会话中
$_SESSION['code'] = $code;

//添加干扰图
for ($i = 0; $i < 50; $i++) {
    imagesetpixel($image, mt_rand(0, 120), mt_rand(0, 40), $black);
}

// 输出图像到浏览器
header('Content-Type: image/png');
imagepng($image);

// 释放内存
imagedestroy($image);
?>
